import { uploadWhiteList } from '@midwayjs/busboy';
import { MidwayConfig } from '@midwayjs/core';
import { join } from 'path';
const port = 7001;
export default {
  cors: {
    origin: '*',
  },
  // use for cookie sign key, should change to your own and keep security
  keys: '1759035291826_5294',
  koa: {
    port,
  },
  sequelize: {
    dataSource: {
      default: {
        database: 'enjoy_plus',
        username: 'root',
        password: 'root',
        host: '127.0.0.1',
        port: 3306,
        encrypt: false,
        dialect: 'mysql',
        define: { charset: 'utf8',freezeTableName:true },
        timezone: '+08:00',
        // 本地的时候，可以通过 sync: true 直接 createTable
        sync: true,
        entities: [
          //  'entity',
          '**/entity/*.entity.{j,t}s',// 通配加后缀匹配
        ],
      }
    }
  },
  jwt: {
    secret: 'a1abb$cc2dd', // fs.readFileSync('xxxxx.key')
    sign: {
      // signOptions
      expiresIn: '2d', // https://github.com/vercel/ms
    },
    verify: {
      // verifyOptions
    },
    decode: {
      // decodeOptions
    },
    adminSecret:'cc$$aaop1'
  },
  validate: {
    validationOptions: {
      stripUnknown: true, // 全局生效剔除参数中的未定义属性
    }
  },
  upload: {
    // mode: UploadMode, 默认为file，即上传到服务器临时目录，可以配置为 stream
    mode: 'file',
    // fileSize: string, 最大上传文件大小，默认为 1mb
    fileSize: '100mb',
    // whitelist: string[]，文件扩展名白名单
    whitelist: uploadWhiteList.filter(ext => ext !== '.pdf'),
    // tmpdir: string，上传的文件临时存储路径
    // tmpdir: join(tmpdir(), 'midway-upload-files'),
    tmpdir: join(__dirname,'../../public'),
    // cleanTimeout: number，上传的文件在临时目录中多久之后自动删除，默认为 5 分钟
    // cleanTimeout: 5 * 60 * 1000,
    cleanTimeout:0,
    // base64: boolean，设置原始body是否是base64格式，默认为false，一般用于腾讯云的兼容
    base64: false,
    // 仅在匹配路径到 /common/upload 的时候去解析 body 中的文件信息
    match: /\/common\/upload/,
  },
  domain: {
    url:`http://192.168.3.59:${port}`
  },
} as MidwayConfig;
